package com.uam.core.tool;

import org.apache.commons.collections4.CollectionUtils;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;

/**
 * @author zhengshh
 */
public class ListUtils {

    /**
     * 分割数组
     *
     * @param source 数据源
     * @param size   分割大小
     * @param <T>    数据类型
     * @return 分隔号的数组
     */
    public static <T> List<List<T>> split(List<T> source, int size) {
        if (CollectionUtils.isNotEmpty(source)) {
            List<T> item = null;
            List<List<T>> list = new ArrayList<>((source.size() / size) + 1);
            for (int i = 0; i < source.size(); i++) {
                if (i % size == 0) {
                    item = new ArrayList<>(size);
                    list.add(item);
                }
                item.add(source.get(i));
            }
            return list;
        }
        return Collections.emptyList();
    }

    /**
     *
     * @param l1 值1
     * @param l2 值2
     * @return 0 相等 1 l1 不为空 2 l2不为空 3 不相等
     */
    public static int compare(Long l1,Long l2){
        if(Objects.equals(l1, l2)){
            return 0;
        }else if(l1 == null){
            return  2;
        }else if(l2 == null){
            return 1;
        }else {
            return 3;
        }
    }
}
